Skip to content

openssh 8.8环境下git无法使用ssh

问题原因

高版本openssh未启用ssh-rsa

解决方案

方案1:修改sshconfig

shell
vim ~/.ssh/config

在对应的Host下添加PubkeyAcceptedKeyTypes参数

properties
PubkeyAcceptedKeyTypes +ssh-rsa

方案2:使用ED25519算法

重新生成公私钥对,算法使用ed25519

shell
ssh-keygen -t ed25519

排查过程

  1. 安装git和openssh后,在~/.ssh/confi中添加了代码库的host,但是拉取代码始终提示要输入密码;
  2. 手动执行ssh-add,提示未启动ssh-agent,按照网上的脚本,手动添加了ssh-agent服务;
  3. 仍然提示需要输入密码,重启后依然无效,使用如下命令进行检查,发现是算法问题;
    shell
    ssh -v -T git@代码仓库地址:路径
    debug信息中的最后几行有如下字样:
    text
    send_pubkey_test: no mutual signature algorithm
  4. 以“send_pubkey_test: no mutual signature algorithm”为关键字搜索,查到解决方案,并且成功解决。

参考链接

无法将代码推送到gitee仓库故障处理(no mutual signature algorithm)
Start ssh-agent on login [closed]